Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
A ObservableCollection<T> classe representa uma coleção de dados dinâmica que fornece notificações quando os itens são adicionados ou removidos ou quando toda a lista é atualizada.
Em muitos casos, os dados com os quais você trabalha são uma coleção de objetos. Por exemplo, um cenário comum na associação de dados é usar um ItemsControl tal como um ListBox, ListView, ou TreeView para exibir uma coleção de registros.
Você pode enumerar em qualquer coleção que implemente a interface IEnumerable. No entanto, para configurar associações dinâmicas para que inserções ou exclusões na coleção atualizem a interface do usuário automaticamente, a coleção deve implementar a interface INotifyCollectionChanged. Essa interface expõe o CollectionChanged evento, um evento que deve ser gerado sempre que a coleção subjacente for alterada.
A ObservableCollection<T> classe é um tipo de coleta de dados que implementa a INotifyCollectionChanged interface.
Antes de implementar sua própria coleção, considere usar ObservableCollection<T> ou uma das classes de coleção existentes, como List<T>, Collection<T>e BindingList<T>, entre muitas outras. Se você tiver um cenário avançado e quiser implementar sua própria coleção, considere usar IList, que fornece uma coleção não genérica de objetos que podem ser acessados individualmente pelo índice. A implementação IList fornece o melhor desempenho com o mecanismo de associação de dados.
Observação
Para dar suporte total à transferência de valores de dados de objetos de origem de associação para destinos de associação, cada objeto em sua coleção que dá suporte a propriedades associáveis deve implementar um mecanismo de notificação de alteração de propriedade apropriado, como a interface INotifyPropertyChanged.
Para obter mais informações, consulte "Vinculação a coleções" na Visão Geral da Vinculação de Dados.
Anotações sobre o uso de XAML
ObservableCollection<T> pode ser usado como um elemento de objeto XAML no Windows Presentation Foundation (WPF), nas versões 3.0 e 3.5. No entanto, o uso tem limitações substanciais.
ObservableCollection<T> deve ser o elemento raiz, pois o
x:TypeArguments
atributo que deve ser usado para especificar o tipo restrito do genérico ObservableCollection<T> só tem suporte no elemento de objeto para o elemento raiz.Você deve declarar um
x:Class
atributo (o que implica que a ação de build para esse arquivo XAML deve serPage
ou alguma outra ação de build que compile o XAML).ObservableCollection<T> está em um namespace e assembly que não foram mapeados inicialmente para o namespace XML padrão. Mapeie um prefixo para o namespace e o assembly e, depois, use esse prefixo na tag de elemento de objeto para ObservableCollection<T>.
Uma maneira mais simples de usar os ObservableCollection<T> recursos do XAML em um aplicativo é declarar sua própria classe de coleção personalizada não genérica que derive de ObservableCollection<T> e restringi-la a um tipo específico. Em seguida, mapeie o assembly que contém essa classe e referencie-o como um elemento de objeto em seu XAML.